home *** CD-ROM | disk | FTP | other *** search
/ CD-ROM Magazine 28 Bonus / CDRomMagazine-SoftKey-ArtPassion-FrenchVersion-Win31Mac.bin / data / ltcrepl.dir / 00085_Script_moving the shadow < prev    next >
Text File  |  1996-05-01  |  3KB  |  110 lines

  1. -- ---------------------------------------------------------------
  2. -- Handler moveShadow
  3.  
  4. on moveShadow whichSprite
  5.   --  when mouseDown then shadowDrag
  6. end
  7.  
  8. -- ---------------------------------------------------------------
  9. -- Handler shadowDrag 
  10.  
  11. on shadowDrag 
  12.   global shadow
  13.   
  14.   -- if they clicked on the shadow (checked by the sprite number of the clickOn)
  15.   
  16.   if (the clickOn = shadow) then TrackAndCheck (shadow, "RS")
  17. end
  18.  
  19. -- ---------------------------------------------------------------
  20. -- Handler trackAndCheck 
  21.  
  22. on trackAndCheck ClickedSprite, NewName,
  23.   global gameOver
  24.   
  25.   -- drag the mosaic while the mouse is down
  26.   repeat while the stillDown
  27.     SpriteFollowMouse( ClickedSprite)
  28.     if gameOver then exit
  29.   end repeat  
  30.   
  31.   -- the mouse is now Up, ie. the user placed the shadow somewhere
  32.   -- check if the shadow was placed in the right place
  33.   
  34.   if shadowInPlace() then
  35.     doMatch ()
  36.   end if
  37.   --  else
  38.   --    doReturn (ClickedSprite, storeH, storeV)
  39.   --  end if
  40. end
  41.  
  42. -- ---------------------------------------------------------------
  43. -- Handler spriteFollowMouse 
  44.  
  45. on spriteFollowMouse whichSprite
  46.   -- move the shadow with the mouse
  47.   set the locH of sprite whichSprite = the mouseH
  48.   set the locV of sprite whichSprite = the mouseV
  49.   updateStage
  50. end
  51.  
  52. -- ---------------------------------------------------------------
  53. -- Handler shadowInPlace returns true if the user placed the shadow
  54. -- in its proper place and false otherwise.
  55.  
  56. on shadowInPlace
  57.   global shadow, shadowH, shadowV,
  58.   
  59.   return ((abs(the locH of sprite shadow - shadowH) <= 10) and (abs(the locV of sprite shadow - shadowV) <= 10))
  60. end
  61.  
  62. -- ---------------------------------------------------------------
  63. -- Handler doMatch 
  64.  
  65. on doMatch 
  66.   global shadowH, shadowV, currentPlacedShadow, shadow
  67.   
  68.   -- place the mosaic on the board
  69.   changeSpriteCastNumber
  70.   set the castNum of sprite currentPlacedShadow = the castNum of sprite shadow
  71.   set the locH of sprite currentPlacedShadow = shadowH
  72.   set the locV of sprite currentPlacedShadow = shadowV
  73.   removeFromStage(shadow)
  74.   
  75.   puppetSound "correct"
  76.   updateStage
  77.   waitTicksInterruptable 180
  78.   updateCurrentPlacedShadow
  79.   updatePlacedShadowsList
  80. end
  81.  
  82. -- ---------------------------------------------------------------
  83. -- Handler doReturn 
  84.  
  85. on doReturn ClickedSprite, storeH, storeV
  86.   puppetsound "Missed"
  87.   -- return the sprite to its original location
  88.   set the locH of sprite ClickedSprite to storeH
  89.   set the locV of sprite ClickedSprite to storeV  
  90. end
  91.  
  92. on changeSpriteCastNumber 
  93.   global shadow,tag
  94.   puppetSprite shadow, TRUE
  95.   set CastNumber = the castNum of sprite shadow
  96.   set CastName = the name of cast CastNumber
  97.   if tag = 0 then
  98.     
  99.     set NewName =  CastName &&  "PLACED"
  100.   else
  101.     
  102.     set NewName =  CastName &&  "PLACED1"
  103.   end if
  104.   
  105.   set the castNum of sprite the clickOn = cast NewName
  106.   updateStage
  107. end
  108.  
  109.  
  110.